Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems can be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as “data centers,” may include a number of interconnected computing systems to provide computing resources to users of the data center. The data centers may be private data centers operated on behalf of an organization or public data centers operated on behalf, or for the benefit of, the general public.
To facilitate increased utilization of data center resources, virtualization technologies may allow a single physical computing device to host one or more instances of virtual machines that appear and operate as independent computing devices to users of a data center. With virtualization, the single physical computing device can create, maintain, delete, or otherwise manage virtual machines in a dynamic matter. In turn, users can request computer resources from a data center, including single computing devices or a configuration of networked computing devices, and be provided with varying numbers of virtual machine resources.
In some instances, multiple computing devices (e.g., virtual computing devices) can work in concert to provide a network-accessible service, such as a web site. The number of computing devices providing the service may be varied based on a demand for the service. For example, a highly demanded service can be implemented by a greater number of computing devices, and a less demanded service can be implemented by fewer computing devices. In some instances, the number of computing devices used to implement a service can be varied automatically or programmatically in response to demand. Illustratively, as demand for a service rises, additional computing can be used to implement the service, and as demand falls, computing devices can be decommissioned from the service.
Because the number of computing devices implementing a service may vary, technologies exist to enable client devices to discovery those computing devices. One example of such a technology is the domain name system (DNS), which enables client devices to retrieve, from DNS servers, network addresses for computing devices corresponding to an identifier (e.g., a domain name or a universal resource indicator, or URI). Illustratively, for a web service corresponding to a domain name, client devices may utilize DNS services to determine network addresses for computing devices implementing that web service.